package com.ict.service;

import com.ict.api.dto.IctOrderDTO;
import com.ict.api.dto.IctOrderPayDTO;
import com.ict.api.entity.IctOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ict.api.entity.IctOrderItem;
import com.ict.api.result.ApiResponse;
import com.ict.api.vo.IctOrderVO;
import com.ict.api.vo.PageResult;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author wjp
 * @since 2025-03-23
 */
public interface IctOrderService extends IService<IctOrder> {

    ApiResponse<IctOrderVO> createOrder(IctOrderDTO orderCreateDTO);

    ApiResponse<String> payOrder(Long orderId, IctOrderPayDTO orderPayDTO);

    ApiResponse<String> cancelOrder(Long orderId);

    ApiResponse<PageResult<IctOrderVO>> getOrderList(IctOrderDTO orderQueryDTO);

    IctOrder createOrder(Long userId, Integer paymentType, List<IctOrderItem> orderItems);
}
